As a nonvolatile semiconductor memory device allowing data to be electrically programmed/erased, there is known a so-called flash memory, data stored in which can be erased in a bulk erase operation. The flash memory has excellent mobility and an excellent shock endurance characteristic. The flash memory also allows data stored therein to be electrically erased in a bulk erase operation. Thus, in recent years, there is an abruptly rising demand for the flash memory to serve as a memory device of a personal digital assistant such as a mobile personal computer or a digital still camera. Most important things among demands for introduction of the flash memory to the market are a demand for reduction of the cost per bit and a demand for enhancement of the speed to program data into the flash memory.
The flash memories include flash memories of AND and NOR types. The reduction of the cost per bit has been implemented in some of the flash memories of the AND and NOR types by devising the device structure and introducing a multilevel storage concept. Moreover, by adoption of a source-side hot electron injection method, the enhancement of the speed to program data into the flash memories of these types has also been implemented.
For example, JP-A No. 152977/2004 serving as patent reference 1 discloses a technology for implementing the reduction of the cost per bit and the enhancement of the speed to program data into the flash memory at the same time by implementing bit lines existing inside a memory array as inversion layers, shrinking the memory-cell region and carrying out data programming operations through adoption of the source-side hot electron injection method.
In particular, since the flash memory of the AND type is used for storing information of a large amount, the number of memory cells involved in an operation to program data into the flash memory increases to a large value typically in the order of 1 kB. For this reason, it is necessary to increase the throughput of an operation to program data into a large number of memory cells at the same time. In an operation to program data into the flash memory by adoption of the source-side hot electron injection method, the programming characteristic appears to vary from memory cell to memory cell due to dispersions in assist gate shape and dispersions in set voltages. Since the dispersions in programming characteristic reduce the programming throughput per chip, it is necessary to decrease the dispersions.
On pages 72-73 of the Symposium on VLSI Circuits (2004) used as non-patent reference 1, a CCIP (Constant-Charge-Injection Programming) technology is disclosed. The CCIP technology is a countermeasure taken to reduce the number of dispersions in programming speed. Caused by dispersions in channel current, the dispersions in programming speed become a problem in a programming operation adopting the source-side hot electron injection method.